Chapter 2
Matlab
code 2.1: Matlab file “Figure 2-3.m”
%--------------------------------------------------------------------
% This code can be used to generate Figure 2.3
%--------------------------------------------------------------------
clear all;
close all;
%% the theoretical curve of the rotating target
micro-Doppler characteristic
c = 3e8;
j = sqrt(-1);
fc = 10e9; % carrier frequency of transmitted
signal
v = 0; % translational velocity of target
cord = 1000*[3 4 5]; % coordinates of local
coordinate system's origin in the radar coordinate system
colo = [0 0 0]; % coordinates of radar in the
radar coordinate system
R0 = cord-colo;
n = R0/sqrt(sum(R0.^2)); % unit vector of
Line-of-Sight(LOS)
ae = [0 pi/4 pi/5]; % Euler angle
tgt = [0 0 0;3 1.5 1.5;-3 -1.5 -1.5]; % three
point scatterers
w = [pi 2*pi pi]; % angular velocity of
rotation
T = 0.8165; % rotating period
ri1 = [cos(ae(3)) sin(ae(3)) 0;-sin(ae(3))
cos(ae(3)) 0;0 0 1];
ri2 = [1 0 0;0 cos(ae(2)) sin(ae(2));0
-sin(ae(2)) cos(ae(2))];
ri3 = [cos(ae(1)) sin(ae(1)) 0;-sin(ae(1))
cos(ae(1)) 0;0 0 1];
ri = ri1*ri2*ri3; % initial rotation matrix
tn = length(tgt(1,:)); % number of scatterers
r0 = zeros(3); % scatterers in the local
coordinate system
for i = 1:tn
r0(i,:) = tgt(i,:)-colo;
end
r0r = ri*r0'; % scatterers in the reference
coordinate system
w = ri*w'; % angular velocity of rotation in
the reference coordinate system
omega = sqrt(sum(w.^2)); % angular frequency
we = w/omega; % unit vector of rotation
wr = [0 -we(3) we(2);we(3) 0 -we(1);-we(2)
we(1) 0]; % skew symmetric matrix
t = 3; % radar illumimated time
prf = 2000; % pulse repetition frequency
pri = 1/prf; % pulse repetition interval
dt = 0:pri:t-pri; % time sampling interval
m = length(dt);
fmd = zeros(length(ae),m); % theoretical
micro-Doppler frequency
for i = 1:m
fmd(:,i) =
(2*fc*omega/c)*((wr^2.*sin(omega*dt(i))+wr.*cos(omega*dt(i)))*ri*(r0'))'*n';
end
figure(1)
plot(dt,fmd)
xlabel('Time (s)')
ylabel('Frequency (Hz)')
axis([0,3,-1500,1500])
%% the time-frequency analysis result of the
rotating target micro-Doppler characteristic
r = zeros(length(tgt(:,1)),length(dt)); %
distance between the scatterers and radar
for i = 1:m
for n = 1:length(tgt(:,1))
r(n,i) =
sqrt((R0'+v*dt(i)+((eye(3)+wr*sin(omega*dt(i))+wr^2*(1-cos(omega*dt(i))))*r0r(:,n)))'...
*(R0'+v*dt(i)+((eye(3)+wr*sin(omega*dt(i))+wr^2*(1-cos(omega*dt(i))))*r0r(:,n))));
end
end
s = zeros(length(dt),length(tgt(:,1))); % echo
signal matrix
for i = 1:length(tgt(:,1))
s(:,i) = exp(j*2*pi*fc*2*r(i,:)'/c);
end
st = sum(s,2);
N = 200; % number of Gabor coefficients in time
Q = 50; % degree of oversampling
tfr = tfrgabor(st.',N,Q); % Gabor transform
tfr_r = fftshift(tfr,1);
figure(2)
contour(linspace(min(dt),max(dt),length(tfr_r(1,:))),linspace(-prf/2,prf/2-1,length(tfr_r(:,1))),tfr_r,70)
xlabel('Time (s)')
ylabel('Frequency (Hz)')
axis([0,3,-1500,1500])